Network-provided content, such as Internet web pages or media content such as video, pictures, music, and the like, are typically served to end users via networked computer systems. End user requests for the network content are processed and the content is responsively provided over various network links. These networked computer systems can include origin hosting servers which originally host network content of content creators or originators, such as web servers for hosting a news website. However, these computer systems of individual content creators can become overloaded and slow due to frequent requests of content by end users.
Content delivery networks have been developed which add a layer of caching between the origin servers and the end users. The content delivery networks typically have one or more cache nodes distributed across a large geographic region to provide lower latency access to the content for the end users. When end users request content, such as a web page, which is handled through a cache node, the cache node is configured to respond to the end user requests instead of the origin servers. In this manner, a cache node can act as a proxy for the origin servers. However, end user devices first typically query a domain name system (DNS) node to translate domain names associated with content into network addresses to retrieve that content. DNS systems can include hierarchical structures which recurse DNS queries to a second DNS node.
Internet Protocol version 6 (IPv6) has been established to overcome some of the shortcomings with IPv4, namely total address space limitations as well as other protocol limitations. IPv6 incorporates a 128-bit address instead of the 32-bit address of IPv4, and IPv6 has now been implemented in most network routing equipment. Although IPv6 can provide for a larger quantity of independently addressable endpoints, managing and routing traffic for these endpoints over a plurality of packet networks can be difficult.
Overview
Systems, methods, apparatuses, and software for a content delivery network that caches content for delivery to end user devices is presented. In one example, a method includes establishing domain name relationships for use by a top-level domain name system (DNS) to recurse DNS queries to a DNS node associated with the CDN, by at least establishing address correlations between prefixed Internet Protocol version 6 (IPv6) network addresses and partially qualified domain names (PQDNs) that comprise indicators for at least a routing provider identifier and a cache node grouping. The method also includes receiving recursed DNS queries and responsively translating domain names in the recursed DNS queries into associated IPv6 network addresses to reach content indicated by the domain names, the associated IPv6 network addresses each determined by at least selecting one of the prefixed IPv6 network addresses according to a desired routing provider and a desired cache node grouping indicated in the PQDNs.
In another example, a content delivery network having a plurality of sites each comprising cache nodes that cache content for delivery to end user devices is presented. The content delivery network includes a DNS node associated with the CDN and configured to establish domain name relationships for use by a top-level DNS to recurse DNS queries to the DNS node. The DNS node is configured to establish address correlations between prefixed IPv6 network addresses and PQDNs that comprise indicators for at least a routing provider identifier and a cache node grouping. The DNS node is configured to receive recursed DNS queries and responsively translate domain names in the recursed DNS queries into associated IPv6 network addresses to reach content indicated by the domain names, the associated IPv6 network addresses each determined by at least selecting one of the prefixed IPv6 network addresses according to a desired routing provider and a desired cache node grouping indicated in the PQDNs.
In another example, a method of operating a DNS node of a content delivery network that caches content for delivery to end user devices is presented. The method includes establishing domain name relationships for use by a top-level DNS to recurse DNS queries to a DNS node associated with the CDN, and establishing address correlations between prefixed IPv6 network addresses and PQDNs that comprise indicators for at least a routing provider identifier and a cache node grouping. The method also includes receiving recursed DNS queries and responsively translating domain names in the recursed DNS queries into associated IPv6 network addresses to reach content indicated by the domain names, the associated IPv6 network addresses each determined by at least selecting one of the prefixed IPv6 network addresses according to a desired routing provider and a desired cache node grouping indicated in the PQDNs.